<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 200px;
            height: 300px;
            background-color: rgb(243, 204, 204);
            display: none;
        }
    </style>
</head>

<body>
    <input type="text" placeholder="请输入...">
    <div class="box"></div>

    <script>
        // 获取DOM
        const input = document.querySelector('input')
        const box = document.querySelector('.box')

        // 数据
        let arr = ['把春天打包给你', '网红虚构自己患肝癌引众怒 本人道歉', '国台办主任宋涛在武汉会见马英九', '女生穿10公分高跟鞋爬泰山', '小学生开始流行盘手串']

        // 绑定键盘抬起事件
        input.onkeyup = function () {
            box.style.display = 'block'
            
            // 对数组进行遍历，获取与输入的内容匹配的下标，将匹配的每一项赋值给str
            let str = ''
            arr.forEach((item) => {
                let res = item.indexOf(input.value)
                if (res != -1) {
                    str += `<p>${item}</p>`
                }
            })
            // 给文本节点进行赋值
            if(!input.value || !str){
                box.innerHTML = '<p>无匹配内容</p>'
            }else{
                box.innerHTML = str
            }
        }
        // 绑定失去焦点事件
        input.onblur = function () {
            box.style.display = 'none'
            input.value = ''
        }
    </script>
</body>

</html>